#coding=utf-8
import openpyxl
import os

# 读取某一个xlsx文件中的内容提取其中的内容
# 读取指定行号的内容

class get_rows_num:
    def read_xlsx(self,sheet_index=None):
        file_path=os.path.dirname(__file__)+"\\test_case.xlsx"
        open_file=openpyxl.load_workbook(file_path)
        # 加载xlsx文件
        sheet_name=open_file.sheetnames
        # 获取excel所有sheet的名称
        if sheet_index==None:
            sheet_index=0
        excel_object=open_file[sheet_name[sheet_index]]
        # excel_object=open_file.sheetnames[0] 获取第一个sheet页作为对象
        return excel_object
    
    def get_excel_data(self,row,column):
        # 获取特定单元格内的值
        excel_data=self.read_xlsx().cell(row,column).value
        return excel_data
    
    def excel_split(self,data):
        # 对数据内容做分割
        case_id=data.split(">")[0]
        # split()是一个分割函数
        return case_id
    
    def get_column_number(self,case_id):
        # 获取case_id所在的行号
        data=self.read_xlsx()['A']
        # 获取第一列的数据
        col_num=1
        for i in data:
            if i.value==case_id:
                return col_num
            else:
                col_num+=1
    
    def get_rows_data(self,col_number):
        data=self.read_xlsx()[col_number]
        rows_list=[]
        for i in data:
            rows_list.append(i.value)
        return rows_list
            
            
oe=get_rows_num()
if __name__=="__main__":
    # print(oe.excel_split(oe.get_excel_data(4,4)))
    t=oe.excel_split(oe.get_excel_data(4,4))
    # 提取到case_id
    x=oe.get_column_number(t)
    # 查找到case_id对应的行号
    y=oe.get_rows_data(x)
    print(y)